/**
 * 
 */
package co.com.fenoco.encuentas.persistencia;

import java.io.Serializable;
import java.util.Calendar;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

/**
 * @author Camilo Forero
 *
 */
@Entity @Table(name="ENC_ENCUESTA")
@NamedQueries({
@NamedQuery (name = "findEncuestas",query = "SELECT e FROM EncabezadoEncuestas e WHERE e.encuestador=:encuestador"),
@NamedQuery (name = "loadEncuesta",query = "SELECT e FROM EncabezadoEncuestas e  WHERE e.id=:id")})
public class EncabezadoEncuestas implements Serializable{
    /**
	 * 
	 */
	private static final long serialVersionUID = 7287195959107957336L;
	@Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_ENCABEZADO_ENCUESTA")
    @SequenceGenerator(name = "SEQ_ENCABEZADO_ENCUESTA", allocationSize = 1, sequenceName = "SEQ_ENCABEZADO_ENCUESTA")
    @Column(unique=true, nullable=false)
	private Long id;
    @Column(name="ID_ENCUESTA")
    private Long idEncuesta;
    @Column(name="ETIQUETA")
    private String etiqueta;
    
    private Long encuestador;

    @Column(name="USUARIO_MOD",nullable=true)
    private Long usuarioMod;
    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="FECHA_DILIGENCIA")
    private Calendar fechaDiligencia;
    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="FECHA_MODIFICA",nullable=true)
    private Calendar fechaModificacion;
    @Column(name="ETIQUETA_INSTALADA")
    private String etiquetaInstalada;
    @Column(name="ID_PREDIO")
    private Long idPredion;

    @Transient
    private DetalleEncuesta detalleEncuesta;
	/**
	 * @return the id
	 */
	public Long getId() {
		return id;
	}
	/**
	 * @param id the id to set
	 */
	public void setId(Long id) {
		this.id = id;
	}
	/**
	 * @return the idEncuesta
	 */
	public Long getIdEncuesta() {
		return idEncuesta;
	}
	/**
	 * @param idEncuesta the idEncuesta to set
	 */
	public void setIdEncuesta(Long idEncuesta) {
		this.idEncuesta = idEncuesta;
	}
	/**
	 * @return the etiqueta
	 */
	public String getEtiqueta() {
		return etiqueta;
	}
	/**
	 * @param etiqueta the etiqueta to set
	 */
	public void setEtiqueta(String etiqueta) {
		this.etiqueta = etiqueta;
	}
	/**
	 * @return the encuestador
	 */
	public Long getEncuestador() {
		return encuestador;
	}
	/**
	 * @param encuestador the encuestador to set
	 */
	public void setEncuestador(Long encuestador) {
		this.encuestador = encuestador;
	}
	/**
	 * @return the usuarioMod
	 */
	public Long getUsuarioMod() {
		return usuarioMod;
	}
	/**
	 * @param usuarioMod the usuarioMod to set
	 */
	public void setUsuarioMod(Long usuarioMod) {
		this.usuarioMod = usuarioMod;
	}
	/**
	 * @return the fechaDiligencia
	 */
	public Calendar getFechaDiligencia() {
		return fechaDiligencia;
	}
	/**
	 * @param fechaDiligencia the fechaDiligencia to set
	 */
	public void setFechaDiligencia(Calendar fechaDiligencia) {
		this.fechaDiligencia = fechaDiligencia;
	}
	/**
	 * @return the fechaModificacion
	 */
	public Calendar getFechaModificacion() {
		return fechaModificacion;
	}
	/**
	 * @param fechaModificacion the fechaModificacion to set
	 */
	public void setFechaModificacion(Calendar fechaModificacion) {
		this.fechaModificacion = fechaModificacion;
	}
	/**
	 * @return the etiquetaInstalada
	 */
	public String getEtiquetaInstalada() {
		return etiquetaInstalada;
	}
	/**
	 * @param etiquetaInstalada the etiquetaInstalada to set
	 */
	public void setEtiquetaInstalada(String etiquetaInstalada) {
		this.etiquetaInstalada = etiquetaInstalada;
	}
	/**
	 * @return the idPredion
	 */
	public Long getIdPredion() {
		return idPredion;
	}
	/**
	 * @param idPredion the idPredion to set
	 */
	public void setIdPredion(Long idPredion) {
		this.idPredion = idPredion;
	}
	/**
	 * @return the detalleEncuesta
	 */
	public DetalleEncuesta getDetalleEncuesta() {
		return detalleEncuesta;
	}
	/**
	 * @param detalleEncuesta the detalleEncuesta to set
	 */
	public void setDetalleEncuesta(DetalleEncuesta detalleEncuesta) {
		this.detalleEncuesta = detalleEncuesta;
	}
    public String getEtiquetaInstaladaNombre(){
    	String retorno ="";
    	if(etiquetaInstalada!=null && !etiquetaInstalada.trim().isEmpty()){
    		retorno = etiquetaInstalada.equals("1")?"Si":"No";
    	}
    	return retorno;
    }
}
